#include <stdio.h>
#include <stdlib.h>

// 函数外定义变量 x 和 y
int x;
int y;
int addtwonum()
{
    // 函数内声明变量 x 和 y 为外部变量
    extern int x;
    extern int y;
    // 给外部变量（全局变量）x 和 y 赋值
    x = 1;
    y = 2;
    return x + y;
}

int main()
{
    int result; // 声明，也是定义
    // 调用函数 addtwonum
    result = addtwonum();

    printf("result: %d\n", result);
    // Your code here
    printf("Press enter to continue...");
    getchar();
    return 0;
}

/*
变量其实只不过是程序可操作的存储区的名称。
C 中每个变量都有特定的类型，类型决定了变量存储的大小和布局，该范围内的值都可以存储在内存中


变量的声明有两种情况：
    1、一种是需要建立存储空间的。例如：int a 在声明的时候就已经建立了存储空间。
    2、另一种是不需要建立存储空间的，通过使用extern关键字声明变量名而不定义它。
    例如：extern int a 其中变量 a 可以在别的文件中定义的。
*/